#include <iostream>
#include <stack>
int main(){
    char str[100];
    std::cin>>str;
    std::stack<char> stack1;
    for (int i=0;i<100;i++){
        if (str[i]=='{'||str[i]=='('||str[i]=='['){
            stack1.push(str[i]);
        }
        if (str[i]=='}'||str[i]==')'||str[i]==']'){
            if(stack1.empty()){
                printf("false");
                return 0;
            }
            if (stack1.top()=='('&&str[i]==')'){stack1.pop();}
            else if (stack1.top()=='['&&str[i]==']'){stack1.pop();}
            else if (stack1.top()=='{'&&str[i]=='}'){stack1.pop();}
            else {
                printf("false");
                return 0;
            }
        } 
    }
    if (!stack1.empty()){
        printf("false");
    } else {
        printf("true");
    }
    
    return 0;

}